iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

Java程式實作系列 第 16

Java語法-8

  • 分享至 

  • xImage
  •  
  1. 封裝(Encapsulation)
    解釋如何使用 private、public、protected修飾符來控制類成員的存取,並說明 getter和 setter 方法的作用。

1.private:只能在類內部訪問,無法在類外部直接存取。
2. public:可以在任何地方訪問,沒有限制。
3. protected:可以在同一包內或子類中訪問,但在其他包的類中無法直接訪問。

#Getter和Setter方法:
Getter:用於讀取私有屬性的值。
Setter:用於修改私有屬性的值,通常會加入資料驗證。

實作範例:
// 定義一個類別 Person
class Person {
// 私有屬性
private String name;
private int age;

// 公有的 Getter 方法
public String getName() {
    return name;
}

// 公有的 Setter 方法
public void setName(String name) {
    this.name = name;
}

// 公有的 Getter 方法
public int getAge() {
    return age;
}

// 公有的 Setter 方法
public void setAge(int age) {
    // 確保年齡不為負數
    if (age >= 0) {
        this.age = age;
    } else {
        System.out.println("Age cannot be negative.");
    }
}

}

// 主類別
public class Main {
public static void main(String[] args) {
// 創建物件
Person person = new Person();

    // 使用 Setter 方法設定屬性
    person.setName("Alice");
    person.setAge(25);

    // 使用 Getter 方法獲取屬性值
    System.out.println("Name: " + person.getName()); // 輸出:Name: Alice
    System.out.println("Age: " + person.getAge());   // 輸出:Age: 25
    
    // 測試年齡設定
    person.setAge(-5); // 輸出:Age cannot be negative.
}

}
說明:
類別定義:Person 類別中包含 name和age兩個私有屬性。

Getter 和 Setter:提供公有的 getName()、setName()、getAge()和 setAge()方法來存取和修改私有屬性。

資料驗證:在 setAge()方法中,加入了年齡不能為負數的驗證。

主類別:在 main方法中創建 Person 物件,使用 Getter 和 Setter 方法來訪問和修改屬性。https://ithelp.ithome.com.tw/upload/images/20240930/20169489vu9OmjlzT9.jpg


上一篇
Java語法-7
下一篇
Java語法-9
系列文
Java程式實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言